/**
 * 
 */
package org.insia.smartposse.xfire.iservice;

import java.util.List;

import org.insia.smartposse.metier.webservice.LightFreelance;
import org.insia.smartposse.metier.webservice.LightFreelanceAlert;
import org.insia.smartposse.metier.webservice.LightFreelancePortfolio;
import org.insia.smartposse.metier.webservice.LightFreelanceSkill;
import org.insia.smartposse.metier.webservice.LightProject;

/**
 * @author raguerri
 * @since 18 avr. 07
 * @version 0.0.1
 * 
 */
public interface IFreelanceService {
	/**
	 * 
	 * @param id
	 * @return
	 */
	public LightFreelance get(long id);
	/**
	 * 
	 * @param id
	 * @return
	 */
	public LightFreelanceSkill getFreelanceSkill(long id);
	/**
	 * 
	 * @param id
	 * @return
	 */
	public LightFreelanceAlert getFreelanceAlert(long id);
	/**
	 * 
	 * @param id
	 * @return
	 */
	public LightFreelancePortfolio getFreelancePortfolio(long id);
	/**
	 * 
	 * @param freelance_id
	 * @return
	 */
	public List<LightProject> getProjects(long freelance_id);
	/**
	 * 
	 * @param freelance
	 * @return
	 */
	public LightFreelance set(LightFreelance freelance);
	/**
	 * @param lfalert
	 * @return
	 */
	LightFreelanceAlert createLightFreelanceAlert(LightFreelanceAlert lfalert);
	/**
	 * @param llfalert
	 * @return
	 */
	List<LightFreelanceAlert> createLightFreelanceAlert(List<LightFreelanceAlert> llfalert);
	/**
	 * @param lfalert
	 * @return
	 */
	LightFreelanceAlert updateLightFreelanceAlert(LightFreelanceAlert lfalert);
	/**
	 * @param llfalert
	 * @return
	 */
	List<LightFreelanceAlert> updateLightFreelanceAlert(List<LightFreelanceAlert> llfalert);
	/**
	 * @param freelance
	 * @return
	 */
	LightFreelance createLightFreelance(LightFreelance freelance);
	/**
	 * @param freelance
	 * @return
	 */
	LightFreelance updateLightFreelance(LightFreelance freelance);
	/**
	 * @param lfport
	 * @return
	 */
	LightFreelancePortfolio createLightFreelancePortfolio(LightFreelancePortfolio lfport);
	/**
	 * @param llfport
	 * @return
	 */
	List<LightFreelancePortfolio> createLightFreelancePortfolio(List<LightFreelancePortfolio> llfport);
	/**
	 * @param lfport
	 * @return
	 */
	LightFreelancePortfolio updateLightFreelancePortfolio(LightFreelancePortfolio lfport);
	/**
	 * @param llfport
	 * @return
	 */
	List<LightFreelancePortfolio> updateLightFreelancePortfolio(List<LightFreelancePortfolio> llfport);
	/**
	 * @param lskill
	 * @return
	 */
	LightFreelanceSkill createLightFreelanceSkill(LightFreelanceSkill lskill);
	/**
	 * @param llfskill
	 * @return
	 */
	List<LightFreelanceSkill> createLightFreelanceSkill(List<LightFreelanceSkill> llfskill);
	/**
	 * @param lskill
	 * @return
	 */
	LightFreelanceSkill updateLightFreelanceSkill(LightFreelanceSkill lskill);
	/**
	 * @param llfskill
	 * @return
	 */
	List<LightFreelanceSkill> updateLightFreelanceSkill(List<LightFreelanceSkill> llfskill);
	
}